package com.example.myandroidapp.kotlin

/*
* 单例类：object 关键字声明，全局唯一实例的类
* 特点：
● 整个应用生命周期只存在一个实例
● 提供全局访问点（通过类名直接访问）
● 线程安全（Kotlin 自动保证）
● 使用 object 关键字声明类名,不是用class修饰
*/

// ----------- 1. 设置的单例
object SettingsManager {
    // 单例属性（全局共享）
    var darkModeEnabled = false

    // 单例方法
    fun toggleDarkMode() {
        darkModeEnabled = !darkModeEnabled
        println("暗黑模式 ${if (darkModeEnabled) "开启" else "关闭"}")
    }
}

// 单例类
object Cars {}


fun main() {
    // 设置管理器
    SettingsManager.toggleDarkMode() // 开启暗黑模式
    SettingsManager.toggleDarkMode() // 关闭暗黑模式

    val car1 = Cars
    val car2 = Cars
    println("car1 == car2: ${car1 == car2}")
}